package com.ytjj.qmyx.users.mapper;

import com.ytjj.qmyx.users.model.UsersBalanceRecordStatistics;
import com.ytjj.qmyx.users.model.UsersInfo;
import com.ytjj.qmyx.users.model.Users;
import com.ytjj.qmyx.users.model.UsersInfoExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface UsersInfoMapper {
    long countByExample(UsersInfoExample example);

    int deleteByExample(UsersInfoExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(UsersInfo record);

    int insertSelective(UsersInfo record);

    List<UsersInfo> selectByExampleWithBLOBs(UsersInfoExample example);

    List<UsersInfo> selectByExample(UsersInfoExample example);

    UsersInfo selectByPrimaryKey(Integer id);

    Users selectUser(Integer id);

    int updateByExampleSelective(@Param("record") UsersInfo record, @Param("example") UsersInfoExample example);

    int updateByExampleWithBLOBs(@Param("record") UsersInfo record, @Param("example") UsersInfoExample example);

    int updateByExample(@Param("record") UsersInfo record, @Param("example") UsersInfoExample example);

    int updateByPrimaryKeySelective(UsersInfo record);

    int updateByPrimaryKeyWithBLOBs(UsersInfo record);

    int updateByPrimaryKey(UsersInfo record);

    int selectByUserId(Integer userId);

    List<UsersBalanceRecordStatistics> selectDynamicIncomeAmount(String source);

    List<UsersBalanceRecordStatistics> selectDynamicIncomeAmountByUserIds(String source, List<Integer> userIds);

    List<String> selectHeadImgsByUserId(@Param("userIds") List<Integer> userIds);

    List<String> selectHeadImgs();

    void updateRetroactiveCardNum(Integer userId);

    void updateUserTemporaryScore(@Param("temporaryScore") Integer temporaryScore, @Param("status") byte status);

    int updateUserScoreById(@Param("id") Integer id,@Param("score") Integer score);
}
